<!--
* @FileDescription: 封装icon
* @Author: tt-one
-->
<script setup lang="ts">
/**
 * 动态绑定 icon 的图标, 动态绑定 class 的样式, 动态绑定字体大小
 */
defineProps<{
  name: string
  color?: string
}>()
</script>

<template>
  <!-- icon 图标的使用 -->
  <svg aria-hidden="true" class="cp-icon" :style="{ color }">
    <!--  #icon-文件夹名称-图标名称 -->
    <use :href="`#icon-${name}`" :fill="color" />
  </svg>
</template>

<style scoped lang="scss">
.cp-icon {
  // 和父级元素的大小字体一样
  // 相当于继承父元素的字体大小
  width: 1em;
  height: 1em;
  fill: 'currentColor';
}
</style>
